Temperature based control of voice coil motor

ABSTRACT

In some embodiments, the method includes measuring a first responsive voltage value for a first voltage drop between a first terminal attached to a first suspension spring of an actuator housing a voice coil motor for moving a lens assembly and a second terminal of the magnetic coil of the voice coil motor. In some embodiments, the method includes calculating a first resistance of the magnetic coil based at least in part upon the first voltage value and measuring a second responsive voltage value for a second voltage drop between the first terminal attached and the second terminal. In some embodiments, the method includes calculating a second resistance of the magnetic coil based at least in part upon the second responsive voltage value and calculating a relative temperature for the magnetic coil based at least in part upon the first resistance and the second resistance.

BACKGROUND

Technical Field

This disclosure relates generally to camera components and morespecifically to camera component motion control.

Description of the Related Art

The advent of small, mobile multipurpose devices such as smartphones andtablet or pad devices has resulted in a need for high-resolution, smallform factor cameras for integration in the devices. Some small formfactor cameras may incorporate optical image stabilization (OIS)mechanisms that may sense and react to external excitation/disturbanceby adjusting location of the optical lens on the X and/or Y axis in anattempt to compensate for unwanted motion of the lens. Some small formfactor cameras may incorporate an autofocus (AF) mechanism whereby theobject focal distance can be adjusted to focus an object plane in frontof the camera at an image plane to be captured by the image sensor. Insome such autofocus mechanisms, the optical lens is moved as a singlerigid body along the optical axis (referred to as the Z axis) of thecamera to refocus the camera. In addition, high image quality is easierto achieve in small form factor cameras if lens motion along the opticalaxis is accompanied by minimal parasitic motion in the other degrees offreedom, for example on the X and Y axes orthogonal to the optical (Z)axis of the camera. Thus, some small form factor cameras that includeautofocus mechanisms may also incorporate optical image stabilization(OIS) mechanisms that may sense and react to externalexcitation/disturbance by adjusting location of the optical lens on theX and/or Y axis in an attempt to compensate for unwanted motion of thelens.

SUMMARY OF EMBODIMENTS

In some embodiments, a method for calculating a relative temperature isdisclosed. In some embodiments, the method includes measuring a firstresponsive voltage value for a first voltage drop between a firstterminal attached to a first suspension spring of an actuator housing avoice coil motor for moving a lens assembly and a second terminal of themagnetic coil of the voice coil motor. In some embodiments, the secondterminal is attached to a second suspension spring of the magnetic coilof the voice coil motor for moving a lens assembly, and the firstresponsive voltage value is a voltage existing in response to passing afirst electrical signal having a first current value through the firstsuspension spring to the magnetic coil.

In some embodiments, the method includes calculating a first resistanceof the magnetic coil based at least in part upon the first voltagevalue. In some embodiments, the method includes measuring a secondresponsive voltage value for a second voltage drop between the firstterminal attached and the second terminal. In some embodiments, thesecond responsive voltage value is a voltage existing in response topassing a second electrical signal having a second current value throughthe first suspension spring to the magnetic coil. In some embodiments,the method includes calculating a second resistance of the magnetic coilbased at least in part upon the second responsive voltage value. In someembodiments, the method includes calculating a relative temperature forthe magnetic coil based at least in part upon the first resistance andthe second resistance.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a block diagram of a portable multifunction devicewith a camera in accordance with some embodiments.

FIG. 2 depicts a portable multifunction device having a camera inaccordance with some embodiments.

FIG. 3 illustrates a side view of an example embodiment of a cameramodule or assembly, according to at least some embodiments.

FIG. 4 depicts an example embodiment of a circuit for measuringtemperature in a camera module, according to at least some embodiments.

FIG. 5 illustrates an example embodiment of a circuit for measuringtemperature in a camera module, according to at least some embodiments.

FIG. 6 depicts example embodiments of probe pulse waveforms that can beused with a circuit for measuring temperature in a camera module,according to at least some embodiments.

FIG. 7 illustrates an example embodiment frequency spectrum behavior ofa probe pulse waveform that can be used with a circuit for measuringtemperature in a camera module, according to at least some embodiments.

FIG. 8 depicts an example circuit usable with systems for measuringtemperature in a camera module, according to at least some embodiments.

FIG. 9 illustrates an example circuit usable with systems for measuringtemperature in a camera module, according to at least some embodiments.

FIG. 10 depicts an example of behavior of an example circuit usable withsystems for measuring temperature in a camera module, according to atleast some embodiments.

FIG. 11 illustrates an example circuit usable with systems for measuringtemperature in a camera module, according to at least some embodiments.

FIG. 12 depicts example operations usable with systems for measuringtemperature in a camera module, according to at least some embodiments.

FIG. 13 illustrates example commands usable with systems for measuringtemperature in a camera module, according to at least some embodiments.

FIG. 14 is a flowchart of a method for measuring temperature in a cameramodule, according to at least some embodiments.

FIG. 15 is a flowchart of a method for measuring temperature in a cameramodule, according to at least some embodiments.

FIG. 16 is a flowchart of a method for measuring temperature in a cameramodule, according to at least some embodiments.

FIG. 17 illustrates an example computer system configured to implementaspects of the system and method for measuring temperature in a cameramodule, according to at least some embodiments.

This specification includes references to “one embodiment” or “anembodiment.” The appearances of the phrases “in one embodiment” or “inan embodiment” do not necessarily refer to the same embodiment.Particular features, structures, or characteristics may be combined inany suitable manner consistent with this disclosure.

“Including.” This term is open-ended. As used in the appended claims,this term does not foreclose additional structure or steps. Consider aclaim that recites: “An apparatus including one or more processor units. . . .” Such a claim does not foreclose the apparatus from includingadditional components (e.g., a network interface unit, graphicscircuitry, etc.).

“Configured To.” Various units, circuits, or other components may bedescribed or claimed as “configured to” perform a task or tasks. In suchcontexts, “configured to” is used to connote structure by indicatingthat the units/circuits/components include structure (e.g., circuitry)that performs those task or tasks during operation. As such, theunit/circuit/component can be said to be configured to perform the taskeven when the specified unit/circuit/component is not currentlyoperational (e.g., is not on). The units/circuits/components used withthe “configured to” language include hardware—for example, circuits,memory storing program instructions executable to implement theoperation, etc. Reciting that a unit/circuit/component is “configuredto” perform one or more tasks is expressly intended not to invoke 35U.S.C. §112, sixth paragraph, for that unit/circuit/component.Additionally, “configured to” can include generic structure (e.g.,generic circuitry) that is manipulated by software and/or firmware(e.g., an FPGA or a general-purpose processor executing software) tooperate in manner that is capable of performing the task(s) at issue.“Configure to” may also include adapting a manufacturing process (e.g.,a semiconductor fabrication facility) to fabricate devices (e.g.,integrated circuits) that are adapted to implement or perform one ormore tasks.

“First,” “Second,” etc. As used herein, these terms are used as labelsfor nouns that they precede, and do not imply any type of ordering(e.g., spatial, temporal, logical, etc.). For example, a buffer circuitmay be described herein as performing write operations for “first” and“second” values. The terms “first” and “second” do not necessarily implythat the first value must be written before the second value.

“Based On.” As used herein, this term is used to describe one or morefactors that affect a determination. This term does not forecloseadditional factors that may affect a determination. That is, adetermination may be solely based on those factors or based, at least inpart, on those factors. Consider the phrase “determine A based on B.”While in this case, B is a factor that affects the determination of A,such a phrase does not foreclose the determination of A from also beingbased on C. In other instances, A may be determined based solely on B.

DETAILED DESCRIPTION

Introduction to Relative Temperature Measurement in Camera ComponentMotion Control

Some embodiments include an actuator housing a voice coil motor formoving a lens assembly, including a first terminal and a secondterminal. In some embodiments, the first terminal is attached to a firstsuspension spring of the actuator housing the voice coil motor formoving the lens assembly and a second terminal of the magnetic coil ofthe voice coil motor. In some embodiments, the second terminal isattached to a second suspension spring of the magnetic coil of the voicecoil motor for moving a lens assembly.

Some embodiments include a driver circuit configured for controllingmovement of and providing power to the voice coil motor, and passing afirst electrical signal having a first current value and a secondelectrical signal having a second current value to the voice coil motor.

Some embodiments include a measuring circuit configured for measuring afirst responsive voltage value for a first voltage drop between a firstterminal attached to a first suspension spring of the actuator housingthe voice coil motor for moving the lens assembly and a second terminalof the magnetic coil of the voice coil motor, and measuring a secondresponsive voltage value for a second voltage drop between the firstterminal attached and the second terminal. In some embodiments, thefirst responsive voltage value is a voltage existing in response topassing a first electrical signal having a first current value throughthe first suspension spring to the magnetic coil, and the secondresponsive voltage value is a voltage existing in response to passing asecond electrical signal having a second current value through the firstsuspension spring to the magnetic coil.

Some embodiments include a processor configured for calculating a firstresistance of the magnetic coil based at least in part upon the firstvoltage value, calculating a second resistance of the magnetic coilbased at least in part upon the second responsive voltage value, andcalculating a relative temperature for the magnetic coil based at leastin part upon the first resistance and the second resistance.

In some embodiments, the driver circuit is further configured foradjusting a position of the lens assembly based at least in part uponthe relative temperature. In some embodiments, the driver circuit isfurther configured for moving the lens assembly by adjusting a currentthrough the first suspension spring to compensate for the effect of therelative temperature to a position selected based at least in part uponthe relative temperature. In some embodiments, the adjusting compensatesfor one or more of changes in optical characteristics of the lens barrelin response to the relative temperature, and changes in electricalcharacteristics of components of the actuator in response to therelative temperature.

In some embodiments, the driver circuit is further configured forcontrolling movement of and providing power to the voice coil motorcreating the first electrical signal and the second electrical signal ina frequency range that does not overlap with a frequency range of usedto controlling movement of the voice coil motor.

In some embodiments, the driver circuit is further configured forgenerating the first electrical signal and the second electrical signalas components of a probe pulse lasting between one-half millisecond andtwo milliseconds. In some embodiments, the driver circuit is furtherconfigured for generating the first electrical signal and the secondsignal as components of a probe pulse having no direct current content.In some embodiments, the driver circuit is further configured forgenerating the first electrical signal and the second signal ascomponents of a bipolar probe pulse.

Some embodiments include a method for measuring condition of cameracomponents or a method for controlling motion of camera components. Insome embodiments, such a method includes measuring a first responsivevoltage value for a first voltage drop between a first terminal attachedto a first suspension spring of an actuator housing a voice coil motorfor moving a lens assembly and a second terminal of the magnetic coil ofthe voice coil motor, calculating a first resistance of the magneticcoil based at least in part upon the first voltage value, measuring asecond responsive voltage value for a second voltage drop between thefirst terminal attached and the second terminal, calculating a secondresistance of the magnetic coil based at least in part upon the secondresponsive voltage value, and calculating a relative temperature for themagnetic coil based at least in part upon the first resistance and thesecond resistance

In some embodiments, the second terminal is attached to a secondsuspension spring of the magnetic coil of the voice coil motor formoving a lens assembly, and the first responsive voltage value is avoltage existing in response to passing a first electrical signal havinga first current value through the first suspension spring to themagnetic coil. In some embodiments, the second responsive voltage valueis a voltage existing in response to passing a second electrical signalhaving a second current value through the first suspension spring to themagnetic coil.

In some embodiments, the method further includes adjusting a position ofthe lens assembly based at least in part upon the relative temperature.In some embodiments, the method further includes moving the lensassembly by adjusting a current through the first suspension spring tocompensate for the effect of the relative temperature to a positionselected based at least in part upon the relative temperature. In someembodiments, the adjusting compensates for one or more of changes inoptical characteristics of the lens barrel in response to the relativetemperature, and changes in electrical characteristics of components ofthe actuator in response to the relative temperature.

In some embodiments, the method further includes a driver circuitcontrolling movement of and providing power to the voice coil motorcreating the first electrical signal and the second electrical signal ina frequency range that does not overlap with a frequency range of usedto controlling movement of the voice coil motor. In some embodiments,the first electrical signal and the second electrical signal arecomponents of a probe pulse lasting between one-half millisecond and twomilliseconds.

In some embodiments, the first electrical signal and the second signalare components of a probe pulse having no direct current content. Insome embodiments, the first electrical signal and the second signal arecomponents of a bipolar probe pulse.

Some embodiments include a non-transitory, computer-readable storagemedium, storing program instructions that when executed by one or morecomputing devices cause the one or more computing devices to implementmeasuring a first responsive voltage value for a first voltage dropbetween a first terminal attached to a first suspension spring of anactuator housing a voice coil motor for moving a lens assembly and asecond terminal of the magnetic coil of the voice coil motor attached toa second suspension spring of the magnetic coil of the voice coil motorfor moving a lens assembly.

In some embodiments, the instructions to cause the one or more computingdevices to implement measuring the first responsive voltage valuefurther include instructions to cause the one or more computing devicesto implement a first responsive voltage value that is a voltage existingin response to passing a first electrical signal having a first currentvalue through the first suspension spring to the magnetic coil.

In some embodiments the non-transitory, computer-readable storagemedium, further stores program instructions that when executed by one ormore computing devices cause the one or more computing devices toimplement calculating a first resistance of the magnetic coil based atleast in part upon the first voltage value.

In some embodiments the non-transitory, computer-readable storagemedium, further stores program instructions that when executed by one ormore computing devices cause the one or more computing devices toimplement measuring a second responsive voltage value for a secondvoltage drop between the first terminal attached and the second terminalin response to passing a second electrical signal having a secondcurrent value through the first suspension spring to the magnetic coil.

In some embodiments the non-transitory, computer-readable storagemedium, further stores program instructions that when executed by one ormore computing devices cause the one or more computing devices toimplement calculating a second resistance of the magnetic coil based atleast in part upon the second responsive voltage value.

In some embodiments the non-transitory, computer-readable storagemedium, further stores program instructions that when executed by one ormore computing devices cause the one or more computing devices toimplement calculating a relative temperature for the magnetic coil basedat least in part upon the first resistance and the second resistance.

In some embodiments the non-transitory, computer-readable storagemedium, further stores instructions to cause the one or more computingdevices to implement adjusting a position of the lens assembly based atleast in part upon the relative temperature.

In some embodiments the non-transitory, computer-readable storagemedium, further stores instructions to cause the one or more computingdevices to implement moving the lens assembly by adjusting a currentthrough the first suspension spring to compensate for the effect of therelative temperature to a position selected based at least in part uponthe relative temperature, wherein the instructions to cause the one ormore computing devices to implement adjusting further includeinstructions to cause the one or more computing devices to implementcompensating for one or more of changes in optical characteristics ofthe lens barrel in response to the relative temperature, and changes inelectrical characteristics of components of the actuator in response tothe relative temperature.

In some embodiments the non-transitory, computer-readable storagemedium, further stores instructions to cause the one or more computingdevices to implement controlling movement of and providing power to thevoice coil motor creating the first electrical signal and the secondelectrical signal in a frequency range that does not overlap with afrequency range of used to controlling movement of the voice coil motor.

In some embodiments the non-transitory, computer-readable storagemedium, further stores instructions to cause the one or more computingdevices to implement passing the first electrical signal and the secondelectrical signal as components of a probe pulse lasting betweenone-half millisecond and two milliseconds.

In some embodiments the non-transitory, computer-readable storagemedium, further stores instructions to cause the one or more computingdevices to implement passing the first electrical signal and the secondsignal as components of a probe pulse having no direct current content.

Multifunction Device Examples

Reference will now be made in detail to embodiments, examples of whichare illustrated in the accompanying drawings. In the following detaileddescription, numerous specific details are set forth in order to providea thorough understanding of the present disclosure. However, it will beapparent to one of ordinary skill in the art that some embodiments maybe practiced without these specific details. In other instances,well-known methods, procedures, components, circuits, and networks havenot been described in detail so as not to unnecessarily obscure aspectsof the embodiments.

It will also be understood that, although the terms first, second, etc.may be used herein to describe various elements, these elements shouldnot be limited by these terms. These terms are only used to distinguishone element from another. For example, a first contact could be termed asecond contact, and, similarly, a second contact could be termed a firstcontact, without departing from the intended scope. The first contactand the second contact are both contacts, but they are not the samecontact.

The terminology used in the description herein is for the purpose ofdescribing particular embodiments only and is not intended to belimiting. As used in the description and the appended claims, thesingular forms “a”, “an” and “the” are intended to include the pluralforms as well, unless the context clearly indicates otherwise. It willalso be understood that the term “and/or” as used herein refers to andencompasses any and all possible combinations of one or more of theassociated listed items. It will be further understood that the terms“includes,” “including,” “includes,” and/or “including,” when used inthis specification, specify the presence of stated features, integers,steps, operations, elements, and/or components, but do not preclude thepresence or addition of one or more other features, integers, steps,operations, elements, components, and/or groups thereof.

As used herein, the term “if” may be construed to mean “when” or “upon”or “in response to determining” or “in response to detecting,” dependingon the context. Similarly, the phrase “if it is determined” or “if [astated condition or event] is detected” may be construed to mean “upondetermining” or “in response to determining” or “upon detecting [thestated condition or event]” or “in response to detecting [the statedcondition or event],” depending on the context.

Embodiments of electronic devices, user interfaces for such devices, andassociated processes for using such devices are described. In someembodiments, the device is a portable communications device, such as amobile telephone, that also contains other functions, such as PDA and/ormusic player functions. Example embodiments of portable multifunctiondevices include, without limitation, the iPhone®, iPod Touch®, and iPad®devices from Apple Inc. of Cupertino, Calif. Other portable electronicdevices, such as laptops, cameras, cell phones, or tablet computers, mayalso be used. It should also be understood that, in some embodiments,the device is not a portable communications device, but is a desktopcomputer with a camera. In some embodiments, the device is a gamingcomputer with orientation sensors (e.g., orientation sensors in a gamingcontroller). In other embodiments, the device is not a portablecommunications device, but is a camera.

In the discussion that follows, an electronic device that includes adisplay and a touch-sensitive surface is described. It should beunderstood, however, that the electronic device may include one or moreother physical user-interface devices, such as a physical keyboard, amouse and/or a joystick.

The device typically supports a variety of applications, such as one ormore of the following: a drawing application, a presentationapplication, a word processing application, a website creationapplication, a disk authoring application, a spreadsheet application, agaming application, a telephone application, a video conferencingapplication, an e-mail application, an instant messaging application, aworkout support application, a photo management application, a digitalcamera application, a digital video camera application, a web browsingapplication, a digital music player application, and/or a digital videoplayer application.

The various applications that may be executed on the device may use atleast one common physical user-interface device, such as thetouch-sensitive surface. One or more functions of the touch-sensitivesurface as well as corresponding information displayed on the device maybe adjusted and/or varied from one application to the next and/or withina respective application. In this way, a common physical architecture(such as the touch-sensitive surface) of the device may support thevariety of applications with user interfaces that are intuitive andtransparent to the user.

Attention is now directed toward embodiments of portable devices withcameras. FIG. 1 is a block diagram illustrating portable multifunctiondevice 100 with camera 164 in accordance with some embodiments ofmethods, systems, and apparatus for small form factor cameras withtemperature measurement, as described herein. Camera 164 is sometimescalled an “optical sensor” for convenience, and may also be known as orcalled an optical sensor system. Device 100 may include memory 102(which may include one or more computer readable storage mediums),memory controller 122, one or more processing units (CPU's) 120,peripherals interface 118, RF circuitry 108, audio circuitry 110,speaker 111, touch-sensitive display system 112, microphone 113,input/output (I/O) subsystem 106, other input or control devices 116,and external port 124. Device 100 may include one or more opticalsensors 164. These components may communicate over one or morecommunication buses or signal lines 103.

It should be appreciated that device 100 is only one example of aportable multifunction device, and that device 100 may have more orfewer components than shown, may combine two or more components, or mayhave a different configuration or arrangement of the components. Thevarious components shown in FIG. 28 may be implemented in hardware,software, or a combination of hardware and software, including one ormore signal processing and/or application specific integrated circuits.

Memory 102 may include high-speed random access memory and may alsoinclude non-volatile memory, such as one or more magnetic disk storagedevices, flash memory devices, or other non-volatile solid-state memorydevices. Access to memory 102 by other components of device 100, such asCPU 120 and the peripherals interface 118, may be controlled by memorycontroller 122.

Peripherals interface 118 can be used to couple input and outputperipherals of the device to CPU 120 and memory 102. The one or moreprocessors 120 run or execute various software programs and/or sets ofinstructions stored in memory 102 to perform various functions fordevice 100 and to process data.

In some embodiments, peripherals interface 118, CPU 120, and memorycontroller 122 may be implemented on a single chip, such as chip 104. Insome other embodiments, they may be implemented on separate chips.

RF (radio frequency) circuitry 108 receives and sends RF signals, alsocalled electromagnetic signals. RF circuitry 108 converts electricalsignals to/from electromagnetic signals and communicates withcommunications networks and other communications devices via theelectromagnetic signals. RF circuitry 108 may include well-knowncircuitry for performing these functions, including but not limited toan antenna system, an RF transceiver, one or more amplifiers, a tuner,one or more oscillators, a digital signal processor, a CODEC chipset, asubscriber identity module (SIM) card, memory, and so forth. RFcircuitry 108 may communicate with networks, such as the Internet, alsoreferred to as the World Wide Web (WWW), an intranet and/or a wirelessnetwork, such as a cellular telephone network, a wireless local areanetwork (LAN) and/or a metropolitan area network (MAN), and otherdevices by wireless communication. The wireless communication may useany of a variety of communications standards, protocols andtechnologies, including but not limited to Global System for MobileCommunications (GSM), Enhanced Data GSM Environment (EDGE), high-speeddownlink packet access (HSDPA), high-speed uplink packet access (HSUPA),wideband code division multiple access (W-CDMA), code division multipleaccess (CDMA), time division multiple access (TDMA), Bluetooth, WirelessFidelity (Wi-Fi) (e.g., IEEE 802.11a, IEEE 802.11b, IEEE 802.11g and/orIEEE 802.11n), voice over Internet Protocol (VoIP), Wi-MAX, a protocolfor e-mail (e.g., Internet message access protocol (IMAP) and/or postoffice protocol (POP)), instant messaging (e.g., extensible messagingand presence protocol (XMPP), Session Initiation Protocol for InstantMessaging and Presence Leveraging Extensions (SIMPLE), Instant Messagingand Presence Service (IMPS)), and/or Short Message Service (SMS), or anyother suitable communication protocol, including communication protocolsnot yet developed as of the filing date of this document.

Audio circuitry 110, speaker 111, and microphone 113 provide an audiointerface between a user and device 100. Audio circuitry 110 receivesaudio data from peripherals interface 118, converts the audio data to anelectrical signal, and transmits the electrical signal to speaker 111.Speaker 111 converts the electrical signal to human-audible sound waves.Audio circuitry 110 also receives electrical signals converted bymicrophone 113 from sound waves. Audio circuitry 110 converts theelectrical signal to audio data and transmits the audio data toperipherals interface 118 for processing. Audio data may be retrievedfrom and/or transmitted to memory 102 and/or RF circuitry 108 byperipherals interface 118. In some embodiments, audio circuitry 110 alsoincludes a headset jack (e.g., 212, FIG. 2). The headset jack providesan interface between audio circuitry 110 and removable audioinput/output peripherals, such as output-only headphones or a headsetwith both output (e.g., a headphone for one or both ears) and input(e.g., a microphone).

I/O subsystem 106 couples input/output peripherals on device 100, suchas touch screen 112 and other input control devices 116, to peripheralsinterface 118. I/O subsystem 106 may include display controller 156 andone or more input controllers 160 for other input or control devices.The one or more input controllers 160 receive/send electrical signalsfrom/to other input or control devices 116. The other input controldevices 116 may include physical buttons (e.g., push buttons, rockerbuttons, etc.), dials, slider switches, joysticks, click wheels, and soforth. In some alternate embodiments, input controller(s) 160 may becoupled to any (or none) of the following: a keyboard, infrared port,USB port, and a pointer device such as a mouse. The one or more buttons(e.g., 208, FIG. 2) may include an up/down button for volume control ofspeaker 111 and/or microphone 113. The one or more buttons may include apush button (e.g., 206, FIG. 2).

Touch-sensitive display 112 provides an input interface and an outputinterface between the device and a user. Display controller 156 receivesand/or sends electrical signals from/to touch screen 112. Touch screen112 displays visual output to the user. The visual output may includegraphics, text, icons, video, and any combination thereof (collectivelytermed “graphics”). In some embodiments, some or all of the visualoutput may correspond to user-interface objects.

Touch screen 112 has a touch-sensitive surface, sensor or set of sensorsthat accepts input from the user based on haptic and/or tactile contact.Touch screen 112 and display controller 156 (along with any associatedmodules and/or sets of instructions in memory 102) detect contact (andany movement or breaking of the contact) on touch screen 112 andconverts the detected contact into interaction with user-interfaceobjects (e.g., one or more soft keys, icons, web pages or images) thatare displayed on touch screen 112. In an example embodiment, a point ofcontact between touch screen 112 and the user corresponds to a finger ofthe user.

Touch screen 112 may use LCD (liquid crystal display) technology, LPD(light emitting polymer display) technology, or LED (light emittingdiode) technology, although other display technologies may be used inother embodiments. Touch screen 112 and display controller 156 maydetect contact and any movement or breaking thereof using any of avariety of touch sensing technologies now known or later developed,including but not limited to capacitive, resistive, infrared, andsurface acoustic wave technologies, as well as other proximity sensorarrays or other elements for determining one or more points of contactwith touch screen 112. In an example embodiment, projected mutualcapacitance sensing technology is used.

Touch screen 112 may have a video resolution in excess of 100 dpi. Insome embodiments, the touch screen has a video resolution ofapproximately 160 dpi. The user may make contact with touch screen 112using any suitable object or appendage, such as a stylus, a finger, andso forth. In some embodiments, the user interface is designed to workprimarily with finger-based contacts and gestures, which can be lessprecise than stylus-based input due to the larger area of contact of afinger on the touch screen. In some embodiments, the device translatesthe rough finger-based input into a precise pointer/cursor position orcommand for performing the actions desired by the user.

In some embodiments, in addition to the touch screen, device 100 mayinclude a touchpad (not shown) for activating or deactivating particularfunctions. In some embodiments, the touchpad is a touch-sensitive areaof the device that, unlike the touch screen, does not display visualoutput. The touchpad may be a touch-sensitive surface that is separatefrom touch screen 112 or an extension of the touch-sensitive surfaceformed by the touch screen.

Device 100 also includes power system 162 for powering the variouscomponents. Power system 162 may include a power management system, oneor more power sources (e.g., battery, alternating current (AC)), arecharging system, a power failure detection circuit, a power converteror inverter, a power status indicator (e.g., a light-emitting diode(LED)) and any other components associated with the generation,management and distribution of power in portable devices.

Device 100 may also include one or more optical sensors or cameras 164.FIG. 28 shows an optical sensor coupled to optical sensor controller 158in I/O subsystem 106. Optical sensor 164 may include charge-coupleddevice (CCD) or complementary metal-oxide semiconductor (CMOS)phototransistors. Optical sensor 164 receives light from theenvironment, projected through one or more lens, and converts the lightto data representing an image, video, and/or a depth map. In conjunctionwith imaging module 143 (also called a camera module), optical sensor164 may capture still images, video, and/or depth maps. In someembodiments, an optical sensor is located on the back of device 100,opposite touch screen display 112 on the front of the device, so thatthe touch screen display may be used as a viewfinder for still and/orvideo image acquisition. In some embodiments, another optical sensor islocated on the front of the device so that the user's image may beobtained for videoconferencing while the user views the other videoconference participants on the touch screen display. While a temperaturemodule 158 is explicitly shown in FIG. 1, a person of ordinary skill inthe art will readily ascertain, in light of having read the presentdisclosure, that the methods, processes and systems described herein maybe implemented in many of the hardware and software components andsystems described herein without departing from the scope and intent ofthe present disclosure.

Device 100 may also include one or more proximity sensors 166. FIG. 28shows proximity sensor 166 coupled to peripherals interface 118.Alternately, proximity sensor 166 may be coupled to input controller 160in I/O subsystem 106. In some embodiments, the proximity sensor turnsoff and disables touch screen 112 when the multifunction device isplaced near the user's ear (e.g., when the user is making a phone call).

Device 100 includes one or more orientation sensors 168. In someembodiments, the one or more orientation sensors include one or moreaccelerometers (e.g., one or more linear accelerometers and/or one ormore rotational accelerometers). In some embodiments, the one or moreorientation sensors include one or more gyroscopes. In some embodiments,the one or more orientation sensors include one or more magnetometers.In some embodiments, the one or more orientation sensors include one ormore of global positioning system (GPS), Global Navigation SatelliteSystem (GLONASS), and/or other global navigation system receivers. TheGPS, GLONASS, and/or other global navigation system receivers may beused for obtaining information concerning the location and orientation(e.g., portrait or landscape) of device 100. In some embodiments, theone or more orientation sensors include any combination oforientation/rotation sensors. FIG. 28 shows the one or more orientationsensors 168 coupled to peripherals interface 118. Alternately, the oneor more orientation sensors 168 may be coupled to an input controller160 in I/O subsystem 106. In some embodiments, information is displayedon the touch screen display in a portrait view or a landscape view basedon an analysis of data received from the one or more orientationsensors.

In some embodiments, the software components stored in memory 102include operating system 126, communication module (or set ofinstructions) 128, contact/motion module (or set of instructions) 130,graphics module (or set of instructions) 132, text input module (or setof instructions) 134, Global Positioning System (GPS) module (or set ofinstructions) 135, and applications (or sets of instructions) 136.Furthermore, in some embodiments memory 102 stores device/globalinternal state 157. Device/global internal state 157 includes one ormore of: active application state, indicating which applications, ifany, are currently active; display state, indicating what applications,views or other information occupy various regions of touch screendisplay 112; sensor state, including information obtained from thedevice's various sensors and input control devices 116; and locationinformation concerning the device's location and/or attitude.

Operating system 126 (e.g., Darwin, RTXC, LINUX, UNIX, OS X, WINDOWS, oran embedded operating system such as VxWorks) includes various softwarecomponents and/or drivers for controlling and managing general systemtasks (e.g., memory management, storage device control, powermanagement, etc.) and facilitates communication between various hardwareand software components.

Communication module 128 facilitates communication with other devicesover one or more external ports 124 and also includes various softwarecomponents for handling data received by RF circuitry 108 and/orexternal port 124. External port 124 (e.g., Universal Serial Bus (USB),FIREWIRE, etc.) is adapted for coupling directly to other devices orindirectly over a network (e.g., the Internet, wireless LAN, etc.). Insome embodiments, the external port is a multi-pin (e.g., 30-pin)connector.

Contact/motion module 130 may detect contact with touch screen 112 (inconjunction with display controller 156) and other touch sensitivedevices (e.g., a touchpad or physical click wheel). Contact/motionmodule 130 includes various software components for performing variousoperations related to detection of contact, such as determining ifcontact has occurred (e.g., detecting a finger-down event), determiningif there is movement of the contact and tracking the movement across thetouch-sensitive surface (e.g., detecting one or more finger-draggingevents), and determining if the contact has ceased (e.g., detecting afinger-up event or a break in contact). Contact/motion module 130receives contact data from the touch-sensitive surface. Determiningmovement of the point of contact, which is represented by a series ofcontact data, may include determining speed (magnitude), velocity(magnitude and direction), and/or an acceleration (a change in magnitudeand/or direction) of the point of contact. These operations may beapplied to single contacts (e.g., one finger contacts) or to multiplesimultaneous contacts (e.g., “multitouch”/multiple finger contacts). Insome embodiments, contact/motion module 130 and display controller 156detect contact on a touchpad.

Contact/motion module 130 may detect a gesture input by a user.Different gestures on the touch-sensitive surface have different contactpatterns. Thus, a gesture may be detected by detecting a particularcontact pattern. For example, detecting a finger tap gesture includesdetecting a finger-down event followed by detecting a finger-up (liftoff) event at the same position (or substantially the same position) asthe finger-down event (e.g., at the position of an icon). As anotherexample, detecting a finger swipe gesture on the touch-sensitive surfaceincludes detecting a finger-down event followed by detecting one or morefinger-dragging events, and subsequently followed by detecting afinger-up (lift off) event.

Graphics module 132 includes various known software components forrendering and displaying graphics on touch screen 112 or other display,including components for changing the intensity of graphics that aredisplayed. As used herein, the term “graphics” includes any object thatcan be displayed to a user, including without limitation text, webpages, icons (such as user-interface objects including soft keys),digital images, videos, animations and the like.

In some embodiments, graphics module 132 stores data representinggraphics to be used. Each graphic may be assigned a corresponding code.Graphics module 132 receives, from applications etc., one or more codesspecifying graphics to be displayed along with, if necessary, coordinatedata and other graphic property data, and then generates screen imagedata to output to display controller 156.

Text input module 134, which may be a component of graphics module 132,provides soft keyboards for entering text in various applications (e.g.,contacts 137, e-mail 140, IM 141, browser 147, and any other applicationthat needs text input).

GPS module 135 determines the location of the device and provides thisinformation for use in various applications (e.g., to telephone 138 foruse in location-based dialing, to camera 143 as picture/video metadata,and to applications that provide location-based services such as weatherwidgets, local yellow page widgets, and map/navigation widgets).

Applications 136 may include the following modules (or sets ofinstructions), or a subset or superset thereof:

-   -   contacts module 137 (sometimes called an address book or contact        list);    -   telephone module 138;    -   video conferencing module 139;    -   e-mail client module 140;    -   instant messaging (IM) module 141;    -   workout support module 142;    -   camera module 143 for still and/or video images;    -   image management module 144;    -   browser module 147;    -   calendar module 148;    -   widget modules 149, which may include one or more of: weather        widget 149-1, stocks widget 149-2, calculator widget 149-3,        alarm clock widget 149-4, dictionary widget 149-5, and other        widgets obtained by the user, as well as user-created widgets        149-6;    -   widget creator module 150 for making user-created widgets 149-6;    -   search module 151;    -   video and music player module 152, which may be made up of a        video player    -   module and a music player module;    -   notes module 153;    -   map module 154; and/or    -   online video module 155.

Examples of other applications 136 that may be stored in memory 102include other word processing applications, other image editingapplications, drawing applications, presentation applications,JAVA-enabled applications, encryption, digital rights management, voicerecognition, and voice replication.

In conjunction with touch screen 112, display controller 156, contactmodule 130, graphics module 132, and text input module 134, contactsmodule 137 may be used to manage an address book or contact list (e.g.,stored in application internal state 192 of contacts module 137 inmemory 102 or memory 370), including: adding name(s) to the addressbook; deleting name(s) from the address book; associating telephonenumber(s), e-mail address(es), physical address(es) or other informationwith a name; associating an image with a name; categorizing and sortingnames; providing telephone numbers or e-mail addresses to initiateand/or facilitate communications by telephone 138, video conference 139,e-mail 140, or IM 141; and so forth.

In conjunction with RF circuitry 108, audio circuitry 110, speaker 111,microphone 113, touch screen 112, display controller 156, contact module130, graphics module 132, and text input module 134, telephone module138 may be used to enter a sequence of characters corresponding to atelephone number, access one or more telephone numbers in address book137, modify a telephone number that has been entered, dial a respectivetelephone number, conduct a conversation and disconnect or hang up whenthe conversation is completed. As noted above, the wirelesscommunication may use any of a variety of communications standards,protocols and technologies.

In conjunction with RF circuitry 108, audio circuitry 110, speaker 111,microphone 113, touch screen 112, display controller 156, optical sensor164, optical sensor controller 158, contact module 130, graphics module132, text input module 134, contact list 137, and telephone module 138,videoconferencing module 139 includes executable instructions toinitiate, conduct, and terminate a video conference between a user andone or more other participants in accordance with user instructions.

In conjunction with RF circuitry 108, touch screen 112, displaycontroller 156, contact module 130, graphics module 132, and text inputmodule 134, e-mail client module 140 includes executable instructions tocreate, send, receive, and manage e-mail in response to userinstructions. In conjunction with image management module 144, e-mailclient module 140 makes it very easy to create and send e-mails withstill or video images taken with camera module 143.

In conjunction with RF circuitry 108, touch screen 112, displaycontroller 156, contact module 130, graphics module 132, and text inputmodule 134, the instant messaging module 141 includes executableinstructions to enter a sequence of characters corresponding to aninstant message, to modify previously entered characters, to transmit arespective instant message (for example, using a Short Message Service(SMS) or Multimedia Message Service (MMS) protocol for telephony-basedinstant messages or using XMPP, SIMPLE, or IMPS for Internet-basedinstant messages), to receive instant messages and to view receivedinstant messages. In some embodiments, transmitted and/or receivedinstant messages may include graphics, photos, audio files, video filesand/or other attachments as are supported in a MMS and/or an EnhancedMessaging Service (EMS). As used herein, “instant messaging” refers toboth telephony-based messages (e.g., messages sent using SMS or MMS) andInternet-based messages (e.g., messages sent using XMPP, SIMPLE, orIMPS).

In conjunction with RF circuitry 108, touch screen 112, displaycontroller 156, contact module 130, graphics module 132, text inputmodule 134, GPS module 135, map module 154, and music player module 146,workout support module 142 includes executable instructions to createworkouts (e.g., with time, distance, and/or calorie burning goals);communicate with workout sensors (sports devices); receive workoutsensor data; calibrate sensors used to monitor a workout; select andplay music for a workout; and display, store and transmit workout data.

In conjunction with touch screen 112, display controller 156, opticalsensor(s) 164, optical sensor controller 158, contact module 130,graphics module 132, and image management module 144, camera module 143includes executable instructions to capture still images or video(including a video stream) and store them into memory 102, modifycharacteristics of a still image or video, or delete a still image orvideo from memory 102.

In conjunction with touch screen 112, display controller 156, contactmodule 130, graphics module 132, text input module 134, and cameramodule 143, image management module 144 includes executable instructionsto arrange, modify (e.g., edit), or otherwise manipulate, label, delete,present (e.g., in a digital slide show or album), and store still and/orvideo images.

In conjunction with RF circuitry 108, touch screen 112, display systemcontroller 156, contact module 130, graphics module 132, and text inputmodule 134, browser module 147 includes executable instructions tobrowse the Internet in accordance with user instructions, includingsearching, linking to, receiving, and displaying web pages or portionsthereof, as well as attachments and other files linked to web pages.

In conjunction with RF circuitry 108, touch screen 112, display systemcontroller 156, contact module 130, graphics module 132, text inputmodule 134, e-mail client module 140, and browser module 147, calendarmodule 148 includes executable instructions to create, display, modify,and store calendars and data associated with calendars (e.g., calendarentries, to do lists, etc.) in accordance with user instructions.

In conjunction with RF circuitry 108, touch screen 112, display systemcontroller 156, contact module 130, graphics module 132, text inputmodule 134, and browser module 147, widget modules 149 aremini-applications that may be downloaded and used by a user (e.g.,weather widget 149-1, stocks widget 149-2, calculator widget 1493, alarmclock widget 149-4, and dictionary widget 149-5) or created by the user(e.g., user-created widget 149-6). In some embodiments, a widgetincludes an HTML (Hypertext Markup Language) file, a CSS (CascadingStyle Sheets) file, and a JavaScript file. In some embodiments, a widgetincludes an XML (Extensible Markup Language) file and a JavaScript file(e.g., Yahoo! Widgets).

In conjunction with RF circuitry 108, touch screen 112, display systemcontroller 156, contact module 130, graphics module 132, text inputmodule 134, and browser module 147, the widget creator module 150 may beused by a user to create widgets (e.g., turning a user-specified portionof a web page into a widget).

In conjunction with touch screen 112, display system controller 156,contact module 130, graphics module 132, and text input module 134,search module 151 includes executable instructions to search for text,music, sound, image, video, and/or other files in memory 102 that matchone or more search criteria (e.g., one or more user-specified searchterms) in accordance with user instructions.

In conjunction with touch screen 112, display system controller 156,contact module 130, graphics module 132, audio circuitry 110, speaker111, RF circuitry 108, and browser module 147, video and music playermodule 152 includes executable instructions that allow the user todownload and play back recorded music and other sound files stored inone or more file formats, such as MP3 or AAC files, and executableinstructions to display, present or otherwise play back videos (e.g., ontouch screen 112 or on an external, connected display via external port124). In some embodiments, device 100 may include the functionality ofan MP3 player.

In conjunction with touch screen 112, display controller 156, contactmodule 130, graphics module 132, and text input module 134, notes module153 includes executable instructions to create and manage notes, to dolists, and the like in accordance with user instructions.

In conjunction with RF circuitry 108, touch screen 112, display systemcontroller 156, contact module 130, graphics module 132, text inputmodule 134, GPS module 135, and browser module 147, map module 154 maybe used to receive, display, modify, and store maps and data associatedwith maps (e.g., driving directions; data on stores and other points ofinterest at or near a particular location; and other location-baseddata) in accordance with user instructions.

In conjunction with touch screen 112, display system controller 156,contact module 130, graphics module 132, audio circuitry 110, speaker111, RF circuitry 108, text input module 134, e-mail client module 140,and browser module 147, online video module 155 includes instructionsthat allow the user to access, browse, receive (e.g., by streamingand/or download), play back (e.g., on the touch screen or on anexternal, connected display via external port 124), send an e-mail witha link to a particular online video, and otherwise manage online videosin one or more file formats, such as H.264. In some embodiments, instantmessaging module 141, rather than e-mail client module 140, is used tosend a link to a particular online video.

Each of the above identified modules and applications correspond to aset of executable instructions for performing one or more functionsdescribed above and the methods described in this application (e.g., thecomputer-implemented methods and other information processing methodsdescribed herein). These modules (i.e., sets of instructions) need notbe implemented as separate software programs, procedures or modules, andthus various subsets of these modules may be combined or otherwisere-arranged in various embodiments. In some embodiments, memory 102 maystore a subset of the modules and data structures identified above.Furthermore, memory 102 may store additional modules and data structuresnot described above.

In some embodiments, device 100 is a device where operation of apredefined set of functions on the device is performed exclusivelythrough a touch screen and/or a touchpad. By using a touch screen and/ora touchpad as the primary input control device for operation of device100, the number of physical input control devices (such as push buttons,dials, and the like) on device 100 may be reduced.

The predefined set of functions that may be performed exclusivelythrough a touch screen and/or a touchpad include navigation between userinterfaces. In some embodiments, the touchpad, when touched by the user,navigates device 100 to a main, home, or root menu from any userinterface that may be displayed on device 100. In such embodiments, thetouchpad may be referred to as a “menu button.” In some otherembodiments, the menu button may be a physical push button or otherphysical input control device instead of a touchpad.

FIG. 2 illustrates a portable multifunction device 100 having a touchscreen 112 in accordance with some embodiments. The touch screen maydisplay one or more graphics within user interface (UI) 200. In thisembodiment, as well as others described below, a user may select one ormore of the graphics by making a gesture on the graphics, for example,with one or more fingers 202 (not drawn to scale in the figure) or oneor more styluses 203 (not drawn to scale in the figure).

Device 100 may also include one or more physical buttons, such as “home”or menu button 204. As described previously, menu button 204 may be usedto navigate to any application 136 in a set of applications that may beexecuted on device 100. Alternatively, in some embodiments, the menubutton is implemented as a soft key in a GUI displayed on touch screen112.

In one embodiment, device 100 includes touch screen 112, menu button204, push button 206 for powering the device on/off and locking thedevice, volume adjustment button(s) 208, Subscriber Identity Module(SIM) card slot 210, head set jack 212, and docking/charging externalport 124. Push button 206 may be used to turn the power on/off on thedevice by depressing the button and holding the button in the depressedstate for a predefined time interval; to lock the device by depressingthe button and releasing the button before the predefined time intervalhas elapsed; and/or to unlock the device or initiate an unlock process.In an alternative embodiment, device 100 also may accept verbal inputfor activation or deactivation of some functions through microphone 113.

It should be noted that, although many of the examples herein are givenwith reference to optical sensor/camera 164 (on the front of a device),a rear-facing camera or optical sensor that is pointed opposite from thedisplay may be used instead of or in addition to an opticalsensor/camera 164 on the front of a device.

Some embodiments employ an actuator using a voice coil motor. Voice coilmotors (VCMs) have many applications, including serving as the focusmotors in compact camera modules. In some embodiments of a camera module(as shown in FIG. 3 and discussed below), the coil wire is wrappedaround the carrier, which contains the lens. The carrier is attached tothe yoke by springs which allow the lens to translate in and out. When acurrent is injected into the coil, a magnetic field is created that actsagainst the magnetic fields of one or more permanent magnets. Themagnetic force displaces the lens against the springs, bringing the lensinto focus.

FIG. 3 depicts a side view of an example embodiment of an actuatormodule or assembly that may, for example, be used to provide cameracomponent motion control based on relative temperature in small formfactor cameras, according to at least some embodiments. Further, acamera module such as that shown in FIG. 3, in addition to providingcamera component motion control based on relative temperature asdescribed herein, may also use the temperature as input to functionsthat control components described with respect to FIGS. 1-3, for examplefor focus functions.

Embodiments of camera component motion control based on relativetemperature may be applied within a camera, actuator package or imagesensor assembly 3000 interacting with an image sensor 3050 asillustrated in FIG. 3 to stabilize and increase control performance ofan optics assembly 3002 suspended on wires 3020 within an actuatorpackage 3000 a-c as shown in FIG. 3. Details of example embodiments,implementations, and methods of operations of image sensor 3050,micropixels 3056, gratings and filters 3054, optional microlenses 3052and associated sensors such as are shown in the camera package 3000shown are discussed below with respect to FIGS. 4-7.

In some embodiments, each position control magnet 3006 is poled so as togenerate a magnetic field, the useful component of which for theautofocus function is orthogonal to the optical axis of the camera/lens,and orthogonal to the plane of each magnet 3006 proximate to theautofocus coil 3004, and where the field for all four magnets 3006 areall either directed towards the autofocus coil 3004, or away from it, sothat the Lorentz forces from all four magnets 3004 act in the samedirection along the optical axis 3080.

As shown in FIG. 3, an actuator package 3000 may include a base assemblyor substrate 3008, an optics assembly 3002, and a cover 3012. Baseassembly 3008 may include one or more of, but is not limited to, a base3008, supporting one or more position sensors (e.g., capacitor plates)3010 a-b, and suspension wires 3020, which control of movements ofautofocus coil 3004.

In at least some embodiments, there are four suspension wires 3020. Anoptics assembly 3002 may be suspended on the base assembly 3008 bysuspension of the upper springs 3040 of optics assembly 3000 on thesuspension wires 3020. Actuator module 3000 may include one or more of,but is not limited to, optics 3002, optics holder (autofocus coil) 3004,magnet(s) 3006, upper spring(s) 3040, and lower spring(s) 3042. Theupper and lower spring(s) may be collectively referred to herein asoptics springs. In optics assembly 3000, an optics component 3002 (e.g.,a lens or lens assembly) may be screwed, mounted or otherwise held in orby an optics holder (autofocus coil) 3004. In at least some embodiments,the optics 3002/optics holder (autofocus coil) 3004 assembly may besuspended from or attached to the position control magnets 3006 by upperspring(s) 3040, and lower spring(s) 3042, and the position controlmagnets 3006 may be rigidly mounted to base 3008. Note that upperspring(s) 3040 and lower spring(s) 3042 are flexible to allow the opticsassembly 3000 a range of motion along the Z (optical) axis for opticalfocusing, wires 3020 are flexible to allow a range of motion on the XYplane orthogonal to the optical axis for optical image stabilization.

Note that, in some embodiments, an optics assembly 3000 or an actuatoractuator module may not include position control magnets 3006, but mayinclude a yoke or other structure 3006 that may be used to help supportthe optics assembly on suspension wires 3020 via upper springs 3030.However in some embodiments, optics assembly 3000 may not includeelements 3006. In general, other embodiments of an optics assembly 3000may include fewer or more components than the example optics assembly3000 shown in FIG. 3. Also note that, while embodiments show the opticsassembly 3000 suspended on wires 3020, other mechanisms may be used tosuspend an optics assembly 3000 in other embodiments.

The autofocus yoke (e.g., magnets or holder(s) 3006) acts as the supportchassis structure for the autofocus mechanism of actuator 3000. The lenscarrier (optics holder 3004) is suspended on the autofocus yoke by anupper autofocus (AF) spring 3040 and a lower optics spring 3042. In thisway when an electric current is applied to the autofocus coil, Lorentzforces are developed due to the presence of the four magnets, and aforce substantially parallel to the optical axis is generated to movethe lens carrier, and hence lens, along the optical axis, relative tothe support structure of the autofocus mechanism of the actuator, so asto focus the lens. In addition to suspending the lens carrier andsubstantially eliminating parasitic motions, the upper spring 3040 andlower spring 4042 also resist the Lorentz forces, and hence convert theforces to a displacement of the lens. This basic architecture shown inFIG. 3 and is typical of some embodiments, in which optical imagestabilization function includes moving the entire autofocus mechanism ofthe actuator (supported by the autofocus yoke) in linear directionsorthogonal to the optical axis, in response to user handshake, asdetected by some means, such a two or three axis gyroscope, which sensesangular velocity. The handshake of interest is the changing angular tiltof the camera in ‘pitch and yaw directions’, which can be compensated bysaid linear movements of the lens relative to the image sensor.

At least some embodiments may achieve this two independentdegree-of-freedom motion by using two pairs of optical imagestabilization coils, each pair acting together to deliver controlledmotion in one linear axis orthogonal to the optical axis, and each pairdelivering controlled motion in a direction substantially orthogonal tothe other pair. In at least some embodiments, these optical imagestabilization coils may be fixed to the camera actuator supportstructure, and when current is appropriately applied, optical imagestabilization coils may generate Lorentz forces on the entire autofocusmechanism of the actuator, moving it as desired. The required magneticfields for the Lorentz forces are produced by the same four magnets thatenable to the Lorentz forces for the autofocus function. However, sincethe directions of motion of the optical image stabilization movementsare orthogonal to the autofocus movements, it is the fringing field ofthe four magnets that are employed, which have components of magneticfield in directions parallel to the optical axis.

Returning to FIG. 3, in at least some embodiments, the suspension of theautofocus mechanism on the actuator 3000 support structure may beachieved by the use of four corner wires 3020, for example wires with acircular cross-section. Each wire 3020 acts as a flexure beams capableof bending with relatively low stiffness, thus allowing motion in bothoptical image stabilization degrees-of-freedom. However, wire 3020 is insome embodiments relatively stiff in directions parallel to the opticalaxis, as this would require the wire to stretch or buckle, thussubstantially preventing parasitic motions in these directions. Inaddition, the presence of four such wires, appropriately separatedallows them to be stiff in the parasitic tilt directions of pitch andyaw, thus substantially preventing relative dynamic tilt between thelens and image sensor. This may be seen by appreciating that each wire3020 is stiff in directions that require it to change in length, andhence the fixed points at the ends of each wire (eight points in total)will substantially form the vertices of a parallelepiped for alloperational positions of the optical image stabilization mechanism.

In some embodiments, a driver circuit 3090 contains a package ofprocessors and memory or other computer-readable medium as describedherein. In some alternative embodiments, may alternatively, in someembodiments, a package of processors and memory may be omitted fromactuator module 3000 and housed elsewhere in a device in which actuatorpackage 3000 is installed.

In some embodiments, actuator package 3000 is installed in a camera of amobile computing device.

Some embodiments include an actuator 3000 housing a voice coil motor formoving a lens assembly 3002, including a first terminal and a secondterminal (described below). In some embodiments, the first terminal isattached to a first suspension spring of the actuator (e.g., 3030)housing the voice coil motor for moving the lens assembly and a secondterminal of the magnetic coil of the voice coil motor. In someembodiments, the second terminal is attached to a second suspensionspring (e.g., 3042) of the magnetic coil 3003 of the voice coil motorfor moving a lens assembly 3002.

Some embodiments include a driver circuit 3090 configured forcontrolling movement of and providing power to the voice coil motor, andpassing a first electrical signal having a first current value and asecond electrical signal having a second current value to the voice coilmotor.

Some embodiments include a measuring circuit within driver circuit 3090configured for measuring a first responsive voltage value for a firstvoltage drop between a first terminal attached to a first suspensionspring (e.g. 3020) of the actuator housing the voice coil motor formoving the lens assembly and a second terminal of the magnetic coil ofthe voice coil motor, and measuring a second responsive voltage valuefor a second voltage drop between the first terminal attached and thesecond terminal. In some embodiments, the first responsive voltage valueis a voltage existing in response to passing a first electrical signalhaving a first current value through the first suspension spring to themagnetic coil, and the second responsive voltage value is a voltageexisting in response to passing a second electrical signal having asecond current value through the first suspension spring to the magneticcoil 3003.

Some embodiments include a processor configured for calculating a firstresistance of the magnetic coil 3003 based at least in part upon thefirst voltage value, calculating a second resistance of the magneticcoil based at least in part upon the second responsive voltage value,and calculating a relative temperature for the magnetic coil 3003 basedat least in part upon the first resistance and the second resistance.

In some embodiments, the driver circuit 3090 is further configured foradjusting a position of the lens assembly based at least in part uponthe relative temperature. In some embodiments, the driver circuit 3090is further configured for moving the lens assembly by adjusting acurrent through the first suspension spring 3020 to compensate for theeffect of the relative temperature to a position selected based at leastin part upon the relative temperature. In some embodiments, theadjusting compensates for one or more of changes in opticalcharacteristics of the lens barrel 3002 in response to the relativetemperature, and changes in electrical characteristics of components ofthe actuator in response to the relative temperature.

In some embodiments, the driver circuit 3090 is further configured forcontrolling movement of and providing power to the voice coil motorcreating the first electrical signal and the second electrical signal ina frequency range that does not overlap with a frequency range of usedto controlling movement of the voice coil motor.

In some embodiments, the driver circuit 3090 is further configured forgenerating the first electrical signal and the second electrical signalas components of a probe pulse lasting between one-half millisecond andtwo milliseconds. In some embodiments, the driver circuit 3090 isfurther configured for generating the first electrical signal and thesecond signal as components of a probe pulse having no direct currentcontent. In some embodiments, the driver circuit is further configuredfor generating the first electrical signal and the second signal ascomponents of a bipolar probe pulse.

Example Hardware Configured for Motion Control with TemperatureDetermination

In some embodiments, the effective focal length (EFL) of the lens andthe location of its principal plane (the effective center of the lens)both depend at least in part on temperature. In certain applicationswhere these parameters are useful information, it is desirable tomeasure the temperature of the lens. In some embodiments, one solutionto this is to measure the resistance of the coil. In some embodiments,the most commonly used could material is copper, which has a temperaturecoefficient of 0.4%/° C.

FIG. 4 depicts an example embodiment of a circuit for measuringtemperature in a camera module, according to at least some embodiments.A circuit assembly 400 includes current control (e.g., a driver circuit)410, a current source 420 and an autofocus coil 430 connected to thecurrent control at autofocus positive 440 and autofocus negative 450terminals, across which a voltage 460 may be measured. In someembodiments, when known constant current is supplied from current source420, Rcoil of autofocus coil 430 is determined by measuring voltage drop460, ΔV, between AF+ 440 and AF− 450 terminals according to theequation:

$R_{coil} = {\frac{\Delta\; V}{I_{source}}.}$

In some embodiments, the resistance of the AF coil 430, Rcoil, changeswith temperature based on the temperature coefficient, αcoil, specifiedas %/° C. By measuring ΔV (T1) at a known temperature, T1, someembodiments can calculate the relative temperature at T2 by measuring ΔV(T2) according to the equation:

${\Delta\; T} = {{\frac{\left( {\frac{R_{coil}\left( T_{2} \right)}{R_{coil}\left( T_{1} \right)} - 1} \right)}{\alpha_{coil}} \times 100} = {\frac{\left( {\frac{\Delta\;{V\left( T_{2} \right)}}{\Delta\;{V\left( T_{1} \right)}} - 1} \right)}{\alpha_{coil}} \times 100.}}$

FIG. 5 illustrates an example embodiment of a circuit for measuringtemperature in a camera module, according to at least some embodiments.A driver circuit 500 receives commands (data (SDA 510) and clock (SCL520) signals) over an I2C synchronous serial bus for controlling bymeans of digital to analog converter 570 current supplied to coil 530 bycurrent source 540. Some embodiments measure a voltage between V_(AF)550 and ground 560 using analog to digital converter 580, using ahigh-frequency probe pulse.

FIG. 6 depicts example embodiments of probe pulse waveforms that can beused with a circuit for measuring temperature in a camera module,according to at least some embodiments. Each of pulse waveforms 610-650is an example of a high-frequency probe pulse is in a balanced probepulse waveform selected to avoid DC content, and thereby reduce impacton focus position.

In some embodiments, the shape of the probe pulse will determine itsspectral content. The pulses with more cycles will have a narrowerspectrum. A pulse with a narrow spectrum will couple less energy intothe fundamental and structural resonances of the AF actuator. A pulsewith a broader spectrum will be more compact and will enable a simplerimplementation.

FIG. 7 illustrates an example embodiment frequency spectrum behavior ofa probe pulse waveform that can be used with a circuit for measuringtemperature in a camera module, according to at least some embodiments.FIG. 8 depicts an example circuit usable with systems for measuringtemperature in a camera module, according to at least some embodiments.

Frequency diagram 700 shows a frequency of an autofocus drive 710, afrequency of a resistance probe 720, a frequency of structural resonance730 of the voice coil motor, and a frequency of mechanical resonance 740of the voice coil motor. In some embodiments frequency 720 is chosen forthe pulse that is far above the mechanical resonance of the AF 730 inorder to reduce lens motion.

FIG. 8 depicts an example circuit usable with systems for measuringtemperature in a camera module, according to at least some embodiments.Circuit 800 measures a voltage V 810 at the output of a filter 820across a VCM coil 830 and a driver current source 840 controlled by anautofocus driver signal 860. A probe pulse current source 850 is drivenby a probe pulse generator 870.

FIG. 9 illustrates an example circuit usable with systems for measuringtemperature in a camera module, according to at least some embodiments.A driver circuit 900 receives commands (data (SDA 910) and clock (SCL920) signals) over an I2C synchronous serial bus for controlling bymeans of digital to analog converter 970 current supplied to coil 930 bycurrent source 940. Some embodiments measure a voltage between V_(AF)950 and ground 960 using analog to digital converter 980, using ahigh-frequency probe pulse to measure resistance at a resistancemeasurement module 990.

FIG. 10 depicts an example of behavior of an example circuit usable withsystems for measuring temperature in a camera module, according to atleast some embodiments. A current pulse 1010 is supplied through acircuit 1020 to generate a voltage spike 1030. In one implementation, abipolar pulse 1010 is used. As shown above, the fast rising edges of thepulse 1010 will induce a transient voltage 1040 across the inductance ofthe coil. Similar waveforms, such as one complete cycle of a sine wavecan be used to reduce this effect in some embodiments.

FIG. 11 illustrates an example circuit usable with systems for measuringtemperature in a camera module, according to at least some embodiments.In circuit 1100, a coil voltage 1110 enters a matched filter 1120 forprocessing and output to a digital-to-analog converter 1130. Two sampleand hold circuits 1140 and 1150 are used to capture the voltages of theupper and lower peaks of pulse 1160. Another circuit 1170 is used toremove the DC offset of the nominal coil resistance times the probecurrent in order to maximize the useful dynamic range of the ADC.

FIG. 12 depicts example operations usable with systems for measuringtemperature in a camera module, according to at least some embodiments.On autofocus writing, autofocus current is updated and probe resistanceis measured. In one implementation, the DC resistance measurement mightbe performed every time the AF current is updated, using the sequenceshown. The resistance values could then be reported at the end of thenext write command, and shown in the I2C timing figure beneath.

FIG. 13 illustrates example commands usable with systems for measuringtemperature in a camera module, according to at least some embodiments.Sequence 1300 includes a device ID 1310, a register address 1320, anautofocus current 1330, and a coil resistance 1340. Because the coilresistance varies based at least in part on temperature, its value isexpected to change slowly. In some embodiments, it would not necessarilyhave to be interrogated every time the AF current is updated.

FIG. 14 is a flowchart of a method for measuring temperature in a cameramodule, according to at least some embodiments. A first responsivevoltage value for a first voltage drop between a first terminal attachedto a first suspension spring of an actuator housing a voice coil motorfor moving a lens assembly and a second terminal of the magnetic coil ofthe voice coil motor is measured (block 1420). A first resistance of themagnetic coil based at least in part upon the first voltage value iscalculated (block 1430). A second responsive voltage value for a secondvoltage drop between the first terminal attached and the second terminalis measured (block 1440). A second resistance of the magnetic coil basedat least in part upon the second responsive voltage value is calculated(block 1450). A relative temperature for the magnetic coil based atleast in part upon the first resistance and the second resistance iscalculated (block 1460).

FIG. 15 is a flowchart of a method for measuring temperature in a cameramodule, according to at least some embodiments. A first responsivevoltage value for a first voltage drop between a first terminal attachedto a first suspension spring of an actuator housing a voice coil motorfor moving a lens assembly and a second terminal of the magnetic coil ofthe voice coil motor is measured (block 1520). A first resistance of themagnetic coil based at least in part upon the first voltage value iscalculated (block 1530). A second responsive voltage value for a secondvoltage drop between the first terminal attached and the second terminalis measured (block 1540). A second resistance of the magnetic coil basedat least in part upon the second responsive voltage value is calculated(block 1550). A relative temperature for the magnetic coil based atleast in part upon the first resistance and the second resistance iscalculated (block 1560). A position of the lens assembly is adjustedbased at least in part upon the relative temperature (block 1570).

FIG. 16 is a flowchart of a method for measuring temperature in a cameramodule, according to at least some embodiments. A first responsivevoltage value for a first voltage drop between a first terminal attachedto a first suspension spring of an actuator housing a voice coil motorfor moving a lens assembly and a second terminal of the magnetic coil ofthe voice coil motor is measured (block 1620). A first resistance of themagnetic coil based at least in part upon the first voltage value iscalculated (block 1630). A second responsive voltage value for a secondvoltage drop between the first terminal attached and the second terminalis measured (block 1640). A second resistance of the magnetic coil basedat least in part upon the second responsive voltage value is calculated(block 1650). A relative temperature for the magnetic coil based atleast in part upon the first resistance and the second resistance iscalculated (block 1660). The lens assembly is moved by adjusting acurrent through the first suspension spring to compensate for the effectof the relative temperature to a position selected based at least inpart upon the relative temperature to compensate for one or more ofchanges in optical characteristics of the lens barrel in response to therelative temperature and changes in electrical characteristics ofcomponents of the actuator in response to the relative temperature(block 1670).

Example Computer System

FIG. 17 illustrates an example computer system 1700 that may beconfigured to execute any or all of the embodiments described above. Indifferent embodiments, computer system 1700 may be any of various typesof devices, including, but not limited to, a personal computer system,desktop computer, laptop, notebook, tablet, slate, pad, or netbookcomputer, mainframe computer system, handheld computer, workstation,network computer, a camera, a set top box, a mobile device, a consumerdevice, video game console, handheld video game device, applicationserver, storage device, a television, a video recording device, aperipheral device such as a switch, modem, router, or in general anytype of computing or electronic device.

Various embodiments of a camera motion control system as describedherein, including embodiments of temperature measurement, as describedherein may be executed in one or more computer systems 1700, which mayinteract with various other devices. Note that any component, action, orfunctionality described above with respect to FIGS. 1-10 may beimplemented on one or more computers configured as computer system 1700of FIG. 17, according to various embodiments. In the illustratedembodiment, computer system 1700 includes one or more processors 1710coupled to a system memory 1720 via an input/output (I/O) interface1730. Computer system 1700 further includes a network interface 1740coupled to I/O interface 1730, and one or more input/output devices1750, such as cursor control device 1760, keyboard 1770, and display(s)1780. In some cases, it is contemplated that embodiments may beimplemented using a single instance of computer system 1700, while inother embodiments multiple such systems, or multiple nodes making upcomputer system 1700, may be configured to host different portions orinstances of embodiments. For example, in one embodiment some elementsmay be implemented via one or more nodes of computer system 1700 thatare distinct from those nodes implementing other elements.

In various embodiments, computer system 1700 may be a uniprocessorsystem including one processor 1710, or a multiprocessor systemincluding several processors 1710 (e.g., two, four, eight, or anothersuitable number). Processors 1710 may be any suitable processor capableof executing instructions. For example, in various embodimentsprocessors 1710 may be general-purpose or embedded processorsimplementing any of a variety of instruction set architectures (ISAs),such as the x86, PowerPC, SPARC, or MIPS ISAs, or any other suitableISA. In multiprocessor systems, each of processors 1710 may commonly,but not necessarily, implement the same ISA.

System memory 1720 may be configured to store camera control programinstructions 1722 and/or camera control data accessible by processor1710. In various embodiments, system memory 1720 may be implementedusing any suitable memory technology, such as static random accessmemory (SRAM), synchronous dynamic RAM (SDRAM), nonvolatile/Flash-typememory, or any other type of memory. In the illustrated embodiment,program instructions 1722 may be configured to implement a lens controlapplication 1724 incorporating any of the functionality described above.Additionally, existing camera control data 1732 of memory 1720 mayinclude any of the information or data structures described above. Insome embodiments, program instructions and/or data may be received, sentor stored upon different types of computer-accessible media or onsimilar media separate from system memory 1720 or computer system 1700.While computer system 1700 is described as implementing thefunctionality of functional blocks of previous Figures, any of thefunctionality described herein may be implemented via such a computersystem.

In one embodiment, I/O interface 1730 may be configured to coordinateI/O traffic between processor 1710, system memory 1720, and anyperipheral devices in the device, including network interface 1740 orother peripheral interfaces, such as input/output devices 1750. In someembodiments, I/O interface 1730 may perform any necessary protocol,timing or other data transformations to convert data signals from onecomponent (e.g., system memory 1720) into a format suitable for use byanother component (e.g., processor 1710). In some embodiments, I/Ointerface 1730 may include support for devices attached through varioustypes of peripheral buses, such as a variant of the Peripheral ComponentInterconnect (PCI) bus standard or the Universal Serial Bus (USB)standard, for example. In some embodiments, the function of I/Ointerface 1730 may be split into two or more separate components, suchas a north bridge and a south bridge, for example. Also, in someembodiments some or all of the functionality of I/O interface 1730, suchas an interface to system memory 1720, may be incorporated directly intoprocessor 1710.

Network interface 1740 may be configured to allow data to be exchangedbetween computer system 1700 and other devices attached to a network1785 (e.g., carrier or agent devices) or between nodes of computersystem 1700. Network 1785 may in various embodiments include one or morenetworks including but not limited to Local Area Networks (LANs) (e.g.,an Ethernet or corporate network), Wide Area Networks (WANs) (e.g., theInternet), wireless data networks, some other electronic data network,or some combination thereof. In various embodiments, network interface1740 may support communication via wired or wireless general datanetworks, such as any suitable type of Ethernet network, for example;via telecommunications/telephony networks such as analog voice networksor digital fiber communications networks; via storage area networks suchas Fibre Channel SANs, or via any other suitable type of network and/orprotocol.

Input/output devices 1750 may, in some embodiments, include one or moredisplay terminals, keyboards, keypads, touchpads, scanning devices,voice or optical recognition devices, or any other devices suitable forentering or accessing data by one or more computer systems 1700.Multiple input/output devices 1750 may be present in computer system1700 or may be distributed on various nodes of computer system 1700. Insome embodiments, similar input/output devices may be separate fromcomputer system 1700 and may interact with one or more nodes of computersystem 1700 through a wired or wireless connection, such as over networkinterface 1740.

As shown in FIG. 17, memory 1720 may include program instructions 1722,which may be processor-executable to implement any element or actiondescribed above. In one embodiment, the program instructions mayimplement the methods described above. In other embodiments, differentelements and data may be included. Note that data may include any dataor information described above.

Those skilled in the art will appreciate that computer system 1700 ismerely illustrative and is not intended to limit the scope ofembodiments. In particular, the computer system and devices may includeany combination of hardware or software that can perform the indicatedfunctions, including computers, network devices, Internet appliances,PDAs, wireless phones, pagers, etc. Computer system 1700 may also beconnected to other devices that are not illustrated, or instead mayoperate as a stand-alone system. In addition, the functionality providedby the illustrated components may in some embodiments be combined infewer components or distributed in additional components. Similarly, insome embodiments, the functionality of some of the illustratedcomponents may not be provided and/or other additional functionality maybe available.

Those skilled in the art will also appreciate that, while various itemsare illustrated as being stored in memory or on storage while beingused, these items or portions of them may be transferred between memoryand other storage devices for purposes of memory management and dataintegrity. Alternatively, in other embodiments some or all of thesoftware components may execute in memory on another device andcommunicate with the illustrated computer system via inter-computercommunication. Some or all of the system components or data structuresmay also be stored (e.g., as instructions or structured data) on acomputer-accessible medium or a portable article to be read by anappropriate drive, various examples of which are described above. Insome embodiments, instructions stored on a computer-accessible mediumseparate from computer system 1700 may be transmitted to computer system1700 via transmission media or signals such as electrical,electromagnetic, or digital signals, conveyed via a communication mediumsuch as a network and/or a wireless link. Various embodiments mayfurther include receiving, sending or storing instructions and/or dataimplemented in accordance with the foregoing description upon acomputer-accessible medium. Generally speaking, a computer-accessiblemedium may include a non-transitory, computer-readable storage medium ormemory medium such as magnetic or optical media, e.g., disk orDVD/CD-ROM, volatile or non-volatile media such as RAM (e.g. SDRAM, DDR,RDRAM, SRAM, etc.), ROM, etc. In some embodiments, a computer-accessiblemedium may include transmission media or signals such as electrical,electromagnetic, or digital signals, conveyed via a communication mediumsuch as network and/or a wireless link.

The methods described herein may be implemented in software, hardware,or a combination thereof, in different embodiments. In addition, theorder of the blocks of the methods may be changed, and various elementsmay be added, reordered, combined, omitted, modified, etc. Variousmodifications and changes may be made as would be obvious to a personskilled in the art having the benefit of this disclosure. The variousembodiments described herein are meant to be illustrative and notlimiting. Many variations, modifications, additions, and improvementsare possible. Accordingly, plural instances may be provided forcomponents described herein as a single instance. Boundaries betweenvarious components, operations and data stores are somewhat arbitrary,and particular operations are illustrated in the context of specificillustrative configurations. Other allocations of functionality areenvisioned and may fall within the scope of claims that follow. Finally,structures and functionality presented as discrete components in theexample configurations may be implemented as a combined structure orcomponent. These and other variations, modifications, additions, andimprovements may fall within the scope of embodiments as defined in theclaims that follow.

What is claimed is:
 1. A system, comprising: an actuator housing a voicecoil motor for moving a lens assembly, comprising a first terminal and asecond terminal, wherein the first terminal is attached to a firstsuspension spring of the actuator housing the voice coil motor formoving the lens assembly, and the second terminal is attached to asecond suspension spring of a magnetic coil of the voice coil motor formoving the lens assembly; a driver circuit configured for controllingmovement of and providing power to the voice coil motor, and passing afirst electrical signal having a first current value and a secondelectrical signal having a second current value to the voice coil motor;a measuring circuit configured for measuring a first responsive voltagevalue for a first voltage drop between the first terminal attached tothe first suspension spring of the actuator housing the voice coil motorfor moving the lens assembly and the second terminal attached to thesecond suspension spring of the magnetic coil of the voice coil motor,wherein the first responsive voltage value is a voltage existing inresponse to passing the first electrical signal having the first currentvalue through the first suspension spring to the magnetic coil, andmeasuring a second responsive voltage value for a second voltage dropbetween the first terminal and the second terminal, wherein the secondresponsive voltage value is a voltage existing in response to passingthe second electrical signal having the second current value through thefirst suspension spring to the magnetic coil; and a processor configuredfor: calculating a first resistance of the magnetic coil based at leastin part upon the first responsive voltage value; calculating a secondresistance of the magnetic coil based at least in part upon the secondresponsive voltage value, and calculating a relative temperature for themagnetic coil based at least in part upon the first resistance and thesecond resistance.
 2. The system of claim 1, the driver circuit isfurther configured for: adjusting a position of the lens assembly basedat least in part upon the relative temperature.
 3. The system of claim1, the driver circuit is further configured for: moving the lensassembly by adjusting a current through the first suspension spring tocompensate for the effect of the relative temperature to a positionselected based at least in part upon the relative temperature, whereinthe adjusting compensates for one or more of changes in opticalcharacteristics of the lens barrel in response to the relativetemperature, and changes in electrical characteristics of components ofthe actuator in response to the relative temperature.
 4. The system ofclaim 1, the driver circuit is further configured for: controllingmovement of and providing power to the voice coil motor creating thefirst electrical signal and the second electrical signal in a frequencyrange that does not overlap with a frequency range of used tocontrolling movement of the voice coil motor.
 5. The system of claim 1,the driver circuit is further configured for: generating the firstelectrical signal and the second electrical signal as components of aprobe pulse lasting between one-half millisecond and two milliseconds.6. The system of claim 1, the driver circuit is further configured for:generating the first electrical signal and the second signal ascomponents of a probe pulse having no direct current content.
 7. Thesystem of claim 1, the driver circuit is further configured for:generating the first electrical signal and the second signal ascomponents of a bipolar probe pulse.
 8. A method, comprising: measuringa first responsive voltage value for a first voltage drop between afirst terminal attached to a first suspension spring of an actuatorhousing a voice coil motor for moving a lens assembly and a secondterminal of a magnetic coil of the voice coil motor, wherein the secondterminal is attached to a second suspension spring of the magnetic coilof the voice coil motor for moving the lens assembly, and the firstresponsive voltage value is a voltage existing in response to passing afirst electrical signal having a first current value through the firstsuspension spring to the magnetic coil; calculating a first resistanceof the magnetic coil based at least in part upon the first responsivevoltage value; measuring a second responsive voltage value for a secondvoltage drop between the first terminal attached and the secondterminal, wherein the second responsive voltage value is a voltageexisting in response to passing a second electrical signal having asecond current value through the first suspension spring to the magneticcoil; calculating a second resistance of the magnetic coil based atleast in part upon the second responsive voltage value; and calculatinga relative temperature for the magnetic coil based at least in part uponthe first resistance and the second resistance.
 9. The method of claim8, further comprising: adjusting a position of the lens assembly basedat least in part upon the relative temperature.
 10. The method of claim8, further comprising: moving the lens assembly by adjusting a currentthrough the first suspension spring to compensate for the effect of therelative temperature to a position selected based at least in part uponthe relative temperature, wherein the adjusting compensates for one ormore of changes in optical characteristics of the lens barrel inresponse to the relative temperature, and changes in electricalcharacteristics of components of the actuator in response to therelative temperature.
 11. The method of claim 8, wherein a drivercircuit controlling movement of and providing power to the voice coilmotor creating the first electrical signal and the second electricalsignal in a frequency range that does not overlap with a frequency rangeof used to controlling movement of the voice coil motor.
 12. The methodof claim 8, wherein the first electrical signal and the secondelectrical signal are components of a probe pulse lasting betweenone-half millisecond and two milliseconds.
 13. The method of claim 8,wherein the first electrical signal and the second signal are componentsof a probe pulse having no direct current content.
 14. The method ofclaim 8, wherein the first electrical signal and the second signal arecomponents of a bipolar probe pulse.
 15. A non-transitory,computer-readable storage medium, storing program instructions that whenexecuted by one or more computing devices cause the one or morecomputing devices to implement: measuring a first responsive voltagevalue for a first voltage drop between a first terminal attached to afirst suspension spring of an actuator housing a voice coil motor formoving a lens assembly and a second terminal attached to a secondsuspension spring of a magnetic coil of the voice coil motor for movingthe lens assembly, wherein the instructions to cause the one or morecomputing devices to implement measuring the first responsive voltagevalue further comprise instructions to cause the one or more computingdevices to implement the first responsive voltage value that is avoltage existing in response to passing a first electrical signal havinga first current value through the first suspension spring to themagnetic coil; calculating a first resistance of the magnetic coil basedat least in part upon the first responsive voltage value; measuring asecond responsive voltage value for a second voltage drop between thefirst terminal attached and the second terminal in response to passing asecond electrical signal having a second current value through the firstsuspension spring to the magnetic coil; calculating a second resistanceof the magnetic coil based at least in part upon the second responsivevoltage value; and calculating a relative temperature for the magneticcoil based at least in part upon the first resistance and the secondresistance.
 16. The non-transitory, computer-readable storage medium ofclaim 15, further comprising: instructions to cause the one or morecomputing devices to implement adjusting a position of the lens assemblybased at least in part upon the relative temperature.
 17. Thenon-transitory, computer-readable storage medium of claim 15, furthercomprising: instructions to cause the one or more computing devices toimplement moving the lens assembly by adjusting a current through thefirst suspension spring to compensate for the effect of the relativetemperature to a position selected based at least in part upon therelative temperature, wherein the instructions to cause the one or morecomputing devices to implement adjusting further comprise instructionsto cause the one or more computing devices to implement compensating forone or more of changes in optical characteristics of the lens barrel inresponse to the relative temperature, and changes in electricalcharacteristics of components of the actuator in response to therelative temperature.
 18. The non-transitory, computer-readable storagemedium of claim 15, further comprising: instructions to cause the one ormore computing devices to implement controlling movement of andproviding power to the voice coil motor creating the first electricalsignal and the second electrical signal in a frequency range that doesnot overlap with a frequency range of used to controlling movement ofthe voice coil motor.
 19. The non-transitory, computer-readable storagemedium of claim 15, further comprising: instructions to cause the one ormore computing devices to implement passing the first electrical signaland the second electrical signal as components of a probe pulse lastingbetween one-half millisecond and two milliseconds.
 20. Thenon-transitory, computer-readable storage medium of claim 15, furthercomprising: instructions to cause the one or more computing devices toimplement passing the first electrical signal and the second signal ascomponents of a probe pulse having no direct current content.